Scroll to navigation

SYSCALL(2) Руководство программиста Linux SYSCALL(2)

ИМЯ

syscall - непрямой системный вызов

ОБЗОР

#define _GNU_SOURCE         /* см. feature_test_macros(7) */
#include <unistd.h>
#include <sys/syscall.h>   /* для определений SYS_xxx */
int syscall(int number, ...);

ОПИСАНИЕ

syscall() выполняет системный вызов, чей интерфейс ассемблерного языка был указан значением number и заданными аргументами. Символьные константы для системных вызовов можно найти в заголовочном файле <sys/syscall.h>.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Возвращаемое значение определяется вызываемым системным вызовом. При успешном выполнении обычно возвращается 0. При ошибке возвращается -1, при этом код ошибки сохраняется в errno.

ЗАМЕЧАНИЯ

Вызов syscall() впервые появился в 4BSD.

ПРИМЕР

#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/types.h>
int
main(int argc, char *argv[])
{

pid_t tid;
tid = syscall(SYS_gettid); }

СМОТРИТЕ ТАКЖЕ

_syscall(2), intro(2), syscalls(2)

2007-07-26 Linux